<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn1">全选</button>
    <button id="btn2">不选</button>
    <button id="btn3">反选</button>
    <div>
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
    </div>

    <script>
        //获取button的元素集合，绑定点击事件
        var btn = document.getElementsByTagName('button');
        //获取这些复选框，改变状态
        var inputs = document.getElementsByTagName('input');
        
            // 通过this 拿到点击的元素
        for (var i =0 ; i< btn.length; i++){
            btn[i].onclick = function (){

                if (this.innerHTML === '全选'){
                    for (var j = 0;j<inputs.length ;j++){
                        inputs[j].checked=true;
                    }   //循环给每一个input添加 checked = true
                }
                else if (this.innerHTML === '反选'){
                    for (var j = 0; j<inputs.length;j++){
                        inputs[j].checked = !inputs[j].checked;
                    }   //已经选上 把勾去掉 checked状态 需要改变为 false
                        //未勾上的 需要勾上 checked状态 需要改为 true
                }
                else if (this.innerHTML === '不选'){
                    for (var j = 0; j<inputs.length; j++){
                        inputs[j].checked = false;
                    }   // 循环的把每一个input的 checked状态改为 false
                }
            }
        }
    </script>
</body>
</html>